home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC]
/
NeXTSTEP 3.3 Dev Intel.iso
/
usr
/
sybase
/
doc
/
dbretdata.man
< prev
next >
Wrap
Text File
|
1993-04-22
|
5KB
|
133 lines
1 Version 4.0 -- 5/1/89 dbretdata
______________________________________________________________________
NAME: dbretdata
FUNCTION:
Return a pointer to a return parameter value generated by a
stored procedure.
SYNTAX:
BYTE *dbretdata(dbproc, retnum)
DBPROCESS *dbproc;
int retnum;
dbretdata Version 4.0 -- 5/1/89 2
______________________________________________________________________
COMMENTS:
o dbretdata() returns a pointer to a return parameter value gen-
erated by a stored procedure. It is useful in conjunction with
remote procedure calls and EXECUTE statements on stored pro-
cedures.
o Transact-SQL stored procedures can return values for specified
"return parameters." Changes made to the value of a return
parameter inside the stored procedure are then available to the
program that called the procedure. This is analogous to the
"pass by reference" facility available in some programming
languages.
For a parameter to function as a return parameter, it must be
declared as such within the stored procedure. The EXECUTE
statement or remote procedure call that calls the stored pro-
cedure must also indicate that the parameter should function as
3 Version 4.0 -- 5/1/89 dbretdata
______________________________________________________________________
a return parameter. In the case of a remote procedure call, it
is the dbrpcparam() routine that specifies whether a parameter
is a return parameter.
o When executing a stored procedure, the server returns any
parameter values immediately after returning all other results.
Therefore, the application can call dbretdata() only after pro-
cessing the stored procedure's results by calling dbresults(),
as well as dbnextrow() if appropriate. (Note that a stored
procedure can generate several sets of results-one for each
SELECT it contains. Before the application can call dbret-
data() or any other routines that process return parameters, it
must call dbresults() and dbnextrow() as many times as neces-
sary to process all the results.)
o If the stored procedure is invoked with a remote procedure
call, the return parameter values are automatically available
to the application. If, on the other hand, the stored
dbretdata Version 4.0 -- 5/1/89 4
______________________________________________________________________
procedure is invoked with an EXECUTE statement, the return
parameter values are available only if the command batch con-
taining the EXECUTE statement uses local variables, not con-
stants, for the return parameters.
o Other routines return additional information about return
parameter values:
o dbnumrets() returns the total number of return parameter
values.
o dbretlen() returns the length of a parameter value.
o dbretname() returns the name of a parameter value.
o dbrettype() returns the datatype of a parameter value.
o For an example of this routine, see Example 8 in the DB-Library
Reference Supplement.
5 Version 4.0 -- 5/1/89 dbretdata
______________________________________________________________________
PARAMETERS:
dbproc - A pointer to the DBPROCESS structure that provides the
connection for a particular front-end/SQL Server process. It
contains all the information that DB-Library uses to manage
communications and data between the front end and SQL Server.
retnum - The number of the return parameter value of interest.
The first return value is 1. Values are returned in the same
order as the parameters were originally specified in the
stored procedure's CREATE PROCEDURE statement. (Note that
this is not necessarily the same order as specified in the
remote procedure call.) When specifying retnum, non-return
parameters do not count. For example, if the second parame-
ter in a stored procedure is the only return parameter, its
retnum is 1, not 2.
RETURNS:
dbretdata Version 4.0 -- 5/1/89 6
______________________________________________________________________
A pointer to the specified return value. If retnum is out of
range, dbretdata() returns NULL. To determine whether the data
really has a null value (and retnum is not merely out of range),
check for a return of 0 from dbretlen().
SEE ALSO:
dbnextrow, dbnumrets, dbresults, dbretlen, dbretname, dbrettype,
dbrpcinit, dbrpcparam